package com.xnew.utils;

import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import com.xnew.bean.group.Department;
import com.xnew.bean.group.Task;
import com.xnew.bean.group.User;
import com.xnew.bean.group.UserOrg;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "msgBody")
@XmlType(propOrder = { "outputXML", "InputXML", "flag", "cust_no", "custCode", "requestDate", "requestPerson", "custNo",
		"tableModel", "sysCustNo", "custName", "requestService", "orgInstCode", "customerId", "customerName", "userId",
		"beginTime", "endTime", "riskInfos", "authUserName", "authPassword", "baseInfoV2", "financeReport",
		"queryParam", "reportInfos", "reportId", "userNo", "templateId", "reportAndIndex", "groupInfos", "groupsNum",
		"query", "groupCusts", "groupCustInfo", "groupUphold", "tasks", "task", "taskIds", "department", "user",
		"userOrg" })
public class MsgBody {

	// 客户编号
	@XmlElement(name = "Cust_Code")
	private String custCode;
	// 发起时间
	@XmlElement(name = "Request_Date")
	private String requestDate;
	// 发起人
	@XmlElement(name = "Request_Person")
	private String requestPerson;
	// 源客户编号
	@XmlElement(name = "Sys_cust_no")
	private String sysCustNo;
	// 客户名称
	@XmlElement(name = "Cust_Name")
	private String custName;
	// 发起系统名称或编号
	@XmlElement(name = "Request_Service")
	private String requestService;
	// 组织机构代码
	@XmlElement(name = "Org_Inst_Code")
	private String orgInstCode;
	// 成功失败标志
	@XmlElement(name = "Flag")
	private String flag;
	// ECIF客户编号
	@XmlElement(name = "customerId")
	private String customerId;
	// ECIF客户编号
	@XmlElement(name = "custNo")
	private String custNo;
	// 外部数据模块
	@XmlElement(name = "tableModel")
	private String tableModel;

	// ECIF客户编号
	@XmlElement(name = "Cust_no")
	private String cust_no;

	public String getCust_no() {
		return cust_no;
	}

	public void setCust_no(String cust_no) {
		this.cust_no = cust_no;
	}

	public String getTableModel() {
		return tableModel;
	}

	public void setTableModel(String tableModel) {
		this.tableModel = tableModel;
	}

	public String getCustNo() {
		return custNo;
	}

	public void setCustNo(String custNo) {
		this.custNo = custNo;
	}

	public String getBeginTime() {
		return beginTime;
	}

	public void setBeginTime(String beginTime) {
		this.beginTime = beginTime;
	}

	public String getEndTime() {
		return endTime;
	}

	public void setEndTime(String endTime) {
		this.endTime = endTime;
	}

	// 查询开始日期
	@XmlElement(name = "beginTime")
	private String beginTime;

	// 查询截止日期
	@XmlElement(name = "endTime")
	private String endTime;

	// OA授权用户
	@XmlElement(name = "authUserName")
	private String authUserName;

	public String getAuthUserName() {
		return authUserName;
	}

	public void setAuthUserName(String authUserName) {
		this.authUserName = authUserName;
	}

	public String getAuthPassword() {
		return authPassword;
	}

	public void setAuthPassword(String authPassword) {
		this.authPassword = authPassword;
	}

	// OA授权密码
	@XmlElement(name = "authPassword")
	private String authPassword;

	/**
	 * OA创建任务标签
	 */
	// 任务列表
	@XmlElementWrapper(name = "tasks")
	@XmlElement(name = "task")
	private List<Task> tasks;

	/**
	 * OA执行任务标签
	 */
	@XmlElement(name = "task")
	private Task task;

	/**
	 * OA删除任务标签
	 * 
	 * @return
	 */
	@XmlElementWrapper(name = "task")
	@XmlElement(name = "taskId")
	private List<String> taskIds;

	public List<String> getTaskIds() {
		return taskIds;
	}

	public void setTaskIds(List<String> taskIds) {
		this.taskIds = taskIds;
	}

	public Task getTask() {
		return task;
	}

	public void setTask(Task task) {
		this.task = task;
	}

	public List<Task> getTasks() {
		return tasks;
	}

	public void setTasks(List<Task> tasks) {
		this.tasks = tasks;
	}

	/**
	 * OA机构同步
	 */
	@XmlElement(name = "department")
	private Department department;

	public Department getDepartment() {
		return department;
	}

	public void setDepartment(Department department) {
		this.department = department;
	}

	/**
	 * OA用户同步
	 */
	@XmlElement(name = "user")
	private User user;

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	/**
	 * OA更新用户组织关系
	 */
	@XmlElement(name = "userOrg")
	private UserOrg userOrg;

	public UserOrg getUserOrg() {
		return userOrg;
	}

	public void setUserOrg(UserOrg userOrg) {
		this.userOrg = userOrg;
	}
}
